package cn.coisini.model.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author xiangshaw
 * Description: 用户视图
 */
@Tag(name = "用户视图")
@Getter
@Setter
public class UserVo {

    @Schema(description = "用户id")
    private String id;

    @Schema(description = "用户id集合")
    private List<String> ids;

    @Schema(description = "用户名 字符串参数不为空（长度大于 0，不是纯空格字符串）")
    private String username;

    @Schema(description = "密码")
    private String password;

    @Schema(description = "旧密码")
    private String oldPassword;

    @Schema(description = "新密码")
    private String newPassword;

    @Schema(description = "确认密码")
    private String confirmPassword;

    @Schema(description = "昵称(^字符串起始位置、\\S 非空字符、{1,10} 字符长度且不包含空白字符、$字符串结束位置)")
    private String nickName;

    @Schema(description = "头像地址")
    private String avatar;

    @Schema(description = "手机号")
    private String phone;
    @Schema(description = "手机号验证码")
    private String confirmCode;

    @Schema(description = "新手机号")
    private String newPhone;
    @Schema(description = "手机号验证码")
    private String newConfirmCode;

    @Schema(description = "绑定手机号")
    private String bindPhone;
    @Schema(description = "绑定手机号验证码")
    private String bindConfirmCode;


    @Schema(description = "邮箱")
    private String email;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "登录时间")
    private LocalDateTime loginTime;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
}
